//============================================================================================
/**
 * @file	gym.h
 * @brief	ジム関連
 * @date	2006.02.02
 *
 */
//============================================================================================
#ifndef __GYM_H__
#define __GYM_H__

#include "common.h"

//ゴーストジム
extern void GYM_SetupGhostGym(FIELDSYS_WORK *fsys);
extern void GYM_EndGhostGym(FIELDSYS_WORK *fsys);
extern void GYM_SetLightMoveTask(FIELDSYS_WORK *fsys);
extern void GYM_DelLightMoveTask(FIELDSYS_WORK *fsys);
extern void GYM_SetVanishLightEvt(FIELDSYS_WORK *fsys, const int inID);

//格闘ジム
extern void GYM_SetupCombatGym(FIELDSYS_WORK *fsys);
extern void GYM_EndCombatGym(FIELDSYS_WORK *fsys);
extern BOOL GYM_CheckCombatGymEvt(FIELDSYS_WORK *fsys);

//電気ジム
extern void GYM_SetupElecGym(FIELDSYS_WORK *fsys);
extern void GYM_EndElecGym(FIELDSYS_WORK *fsys);
extern void GYM_SetElecRock(FIELDSYS_WORK *fsys, const u8 inRockID, const u8 inState);
extern u8 GYM_CheckElecSwitch(FIELDSYS_WORK *fsys, const u8 inDustBoxID);

//飛行ジム
extern void GYM_SetupSkyGym(FIELDSYS_WORK *fsys);
extern void GYM_MoveSkyGymLift(FIELDSYS_WORK *fsys);
//虫ジム
extern void GYM_SetupInsectGym(FIELDSYS_WORK *fsys);
extern void GYM_EndInsectGym(FIELDSYS_WORK *fsys);
extern void GYM_MoveInsectGymLift(FIELDSYS_WORK *fsys, const u8 inLiftPos);
extern void GYM_MoveInsectGymLever(FIELDSYS_WORK *fsys, const u8 inLeverNo);
//ドラゴンジム
extern void GYM_SetupDragonGym(FIELDSYS_WORK *fsys);
extern void GYM_EndDragonGym(FIELDSYS_WORK *fsys);
extern BOOL GYM_CheckDragonGymEvt(FIELDSYS_WORK *fsys);
extern BOOL GYM_HitCheckDragonGym(	FIELDSYS_WORK *fsys,
									const int inGridX, const int inGridZ,
									const fx32 inHeight, BOOL *outHit	);
//毒ジム
extern void GYM_SetupPoisonGym(FIELDSYS_WORK *fsys);
extern void GYM_EndPoisonGym(FIELDSYS_WORK *fsys);
extern void GYM_SetPoisonGymEff(FIELDSYS_WORK *fsys, const int inX, const int inZ);
//万能ジム
extern void GYM_SetupAlmGym(FIELDSYS_WORK *fsys);
extern void GYM_EndAlmGym(FIELDSYS_WORK *fsys);
extern void GYM_SetAlmGymEff(FIELDSYS_WORK *fsys, const u8 inAttr);

#endif //__GYM_H__